Generally, a launch vehicle or satellite includes sensors that compute or measure the angular rate as the vehicle is flying. For instance, inertial measurement units (IMU) located on the vehicle process the data received from gyros. In particular, the IMU performs an integration of the angular rate and outputs angular increments. The angular increments are processed and used to determine the angular attitude.
When the vehicle travels through, for example, the atmosphere, the vehicle undergoes a vibration and the vibration causes an error in the attitude propagation (i.e., coning error). Accordingly, coning correction algorithms are used by the flight computer in an attempt to correct the coning error. However, the coning correction algorithms lack accuracy with respect to pure coning motion.
For example, current attitude update algorithms use a rotation vector differential equation driven by incremental rotation vectors provided by the IMU. Noncommutativity of the incremental rotation vectors can introduce attitude propagation error. Coning correction algorithms are used to reduce such attitude propagation errors. The coning correction algorithms are calibrated for the case of pure coning motion, since this motion tends to generate the greatest attitude error growth rate.
The attitude of a vehicle can be specified by a transformation matrix, U, from the vehicle's coordinate frame to inertial reference coordinates. If xB is a vector in the vehicle body frame, the vector in the vehicle body frame transforms to the inertial frame by the transformationxI=U xB   (1)
where U is the direction cosine transformation matrix and xI is the vector in the inertial frame.
                    U        =                  (                                                                      1                  +                                                            (                                                                        e                          3                          2                                                +                                                  e                          2                          2                                                                    )                                        ⁢                    C                                                                                                -                                      (                                                                                            e                          1                                                ⁢                                                  e                          2                                                ⁢                        C                                            +                                                                        e                          3                                                ⁢                        S                                                              )                                                                                                                                          e                      2                                        ⁢                    S                                    -                                                            e                      1                                        ⁢                                          e                      3                                        ⁢                    C                                                                                                                                                                  e                      3                                        ⁢                    S                                    -                                                            e                      1                                        ⁢                                          e                      2                                        ⁢                    C                                                                                                1                  +                                                            (                                                                        e                          1                          2                                                +                                                  e                          3                          2                                                                    )                                        ⁢                    C                                                                                                -                                      (                                                                                            e                          3                                                ⁢                                                  e                          2                                                ⁢                        C                                            +                                                                        e                          1                                                ⁢                        S                                                              )                                                                                                                        -                                      (                                                                                            e                          3                                                ⁢                                                  e                          1                                                ⁢                        C                                            +                                                                        e                          2                                                ⁢                        S                                                              )                                                                                                                                          e                      1                                        ⁢                    S                                    -                                                            e                      2                                        ⁢                                          e                      3                                        ⁢                    C                                                                                                1                  +                                                            (                                                                        e                          1                          2                                                +                                                  e                          2                          2                                                                    )                                        ⁢                    C                                                                                )                                    (        2        )            
e is a unit vector in the direction of an axis of rotation known as the Euler axis and θ is the angle of rotation about the Euler axis, C=cos(θ)−1, and S=sin(θ). Euler's rotation theorem states that any transformation between two coordinate frames can be represented by a single rotation of angle θ about the Euler rotation axis. Thus, an Euler rotation vector θ can be defined to represent an arbitrary transformation whereθ=θe1+θe2+θe3   (3)
Given the Euler rotation vector as in equation (3), U can be obtained via equation (2).
An incremental attitude transformation matrix associated with an incremental rotation vector is obtained using equation (2). Thus, the attitude can be updated from time T to T+ΔT using equation (4)UT+ΔT=UTU(Δθ)   (4)
where Δθ is the incremental rotation vector associated with time increment ΔT. Equation (4) can be used repeatedly to update the attitude for each successive time increment. The problem then is in determining each attitude update U(Δθ) or, basically, each incremental rotation vector Δθ, since equation (2) is used in each case. Current methods to compute the incremental rotation vector Δθ use a differential equation for the Euler rotation vector as given by
                              θ          .                =                                                            +                1                            /              2                        ⁢                          (                              θ                ×                ω                            )                                +                                    1                              θ                2                                      ⁢                          (                              1                -                                                      θ                    ⁢                                                                                  ⁢                    sin                    ⁢                                                                                  ⁢                                          (                      θ                      )                                                                            2                    ⁢                                          (                                              1                        -                                                  cos                          ⁡                                                      (                            θ                            )                                                                                                                                                          )                        ⁢            θ            ×                          (                              θ                ×                ω                            )                                                          (        5        )            
The last two terms on the right hand side of equation (5) involve changes in direction of the angular rate vector. The last term on the right hand side is generally neglected, since it is very small. The second term on the right hand side represents the coning correction. Various coning correction algorithms have been developed to compute the coning correction term numerically. For example, three successive incremental rotation vectors are used to perform the coning correction term over a three increment duration as given by
                                          ∫            0                          3              ⁢              Δ              ⁢                                                          ⁢              T                                ⁢                                    1              /              2                        ⁢                          (                              θ                ×                ω                            )                        ⁢                          ⅆ              t                                      =                              (                                                            c                  1                                ⁢                Δ                ⁢                                                                  ⁢                                  θ                  1                                            +                                                c                  2                                ⁢                Δ                ⁢                                                                  ⁢                                  θ                  2                                                      )                    ×          Δ          ⁢                                          ⁢                      θ            3                                              (        6        )            
where coefficients c1 and c2 are found to be 9/20 and 27/20, respectively, by minimizing error for the case of pure coning motion, which has a known solution. Higher order coning correction algorithms use more incremental rotation vectors.
Coning correction algorithms reduce the drift rate error in pure coning motion. The uncompensated drift rate is given by equation (7), where α is the coning rate and φ is the tilt angle.
                    D        =                              (                                                                                sin                    2                                    ⁡                                      (                    ϕ                    )                                                  ⁢                α                            2                        )                    ⁢                      (                          1              -                                                sin                  ⁡                                      (                                          αΔ                      ⁢                                                                                          ⁢                      t                                        )                                                                    α                  ⁢                                                                          ⁢                  Δ                  ⁢                                                                          ⁢                  t                                                      )                                              (        7        )            
The coning correction algorithm of equation (6) reduces the z-axis drift rate D from that of equation (7) to
                              D          c                =                                                            sin                2                            ⁡                              (                ϕ                )                                      ⁢                                                            α                  7                                ⁡                                  (                                      Δ                    ⁢                                                                                  ⁢                    t                                    )                                            6                                204120                                    (        8        )            
Higher order coning correction algorithms use more time increments Δt and reduce the coning error further.
Equations (5) and (6) are used to determine the rotation increment Δθ over the update interval. In equation (6), the update time interval involves three time increments Δt. Coning correction algorithms that use more rotation increments have correspondingly longer update time intervals. Once the rotation increment Δθ for the update interval is determined, the rotation increment is used in equation (4) to update the attitude transformation matrix. The process is repeated as more rotation increments are provided by the vehicle's IMU.
The method described above may be referred to as a “coning correction algorithm.” However, it should be appreciated that coning correction algorithms, such as the one described above, may still have errors for the case of pure coning motion.